package com.seari.service;

import java.util.List;
import java.util.Map;

import com.seari.bean.AlarmInfor;
import com.seari.bean.Configure;
import com.seari.bean.OCCStatus;
import com.seari.bean.SelectObj;
import com.seari.bean.UserRoles;

/**
 * 设备状态监控
 * 
 * @author hfm
 *
 */
public interface DevStatusService {
	/**
	 * 获取监控设备状态列表
	 * 
	 * @param params
	 * @return
	 */
	public List<OCCStatus> getOCCStatus(Map<String, Object> params);

	/**
	 * 报警管理>>>报警综合信息
	 * 
	 * @param params
	 * @return
	 */
	public List<AlarmInfor> getAlarmInfor(AlarmInfor alarmInfor);

	/**
	 * 报警管理>>>报警综合信息
	 * 
	 * @param params
	 * @return
	 */
	public List<AlarmInfor> getAlarmInfor2(Map<String, Object> params);

	/**
	 * 报警管理>>>报警综合信息 站台下拉框
	 * 
	 * @return
	 */
	public List<SelectObj> getStation();

	/**
	 * 警管理>>>报警综合信息 状态下拉框
	 * 
	 * @return
	 */
	public List<SelectObj> getStatus();

	/**
	 * 报警管理>>>报警综合信息 详情 维修方式下拉框
	 * 
	 * @return
	 */
	public List<SelectObj> getMaintenanceStatus();

	/**
	 * 报警管理>>>报警综合信息 详情 工单状态下拉框
	 * 
	 * @return
	 */
	public List<SelectObj> getTaskStatus();

	/**
	 * 报警管理>>>报警综合信息 详情列表
	 * 
	 * @param params
	 * @return
	 */
	public List<AlarmInfor> getAlarmDetail(Map<String, Object> params);

	/**
	 * 报警管理>>>报警综合信息 详情列表修改保存
	 * 
	 * @param params
	 * @return
	 */
	public int updateAlarmDetail(Map<String, Object> params);

	/**
	 * 查询总记录数
	 * 
	 * @return
	 */
	public int getAlarmInforListCount(AlarmInfor alarmInfor);

	/**
	 * 判断用户权限 能够查看哪条线路
	 * 
	 * @param userRoles
	 * @return
	 */
	public List<UserRoles> getRoles(UserRoles userRoles);

	public int updateRtEvent(Map<String, Object> params);

	/**
	 * 判断是否发布
	 * 
	 * @return
	 */
	public List<Configure> getConfigure();
}
